package com.dycx.payment.dto;

import java.time.LocalDateTime;

import com.dycx.common.ValidationGroup;
import com.dycx.common.dto.PageDTO;
import lombok.Data;

import java.io.Serializable;

import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 文章关键字(PaymentOrder)参数类
 *
 * @author wuzongbin
 * @since 2024-01-16 09:57:09
 */

@EqualsAndHashCode(callSuper = true)
@Data
public class PaymentOrderDTO extends PageDTO implements Serializable {

    /**
     * uid
     */
    private Integer uid;
    /**
     * 业务订单号
     */
    @NotBlank(message = "业务单号不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private String bizOrderNo;

    /**
     * 支付业务类型
     */
    @NotNull(message = "支付业务类型不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private Integer payBizType;

    /**
     * 支付类型
     */
    @NotNull(message = "支付类型不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private Integer payType;

    /**
     * 支付来源
     */
    @NotNull(message = "支付来源不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private Integer source;

    /**
     * openId
     */
    private String openId;

    /**
     * 支付描述
     */
    @NotBlank(message = "支付描述不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private String description;
    /**
     * 支付金额
     */
    @NotNull(message = "支付金额不能为空", groups = {
            ValidationGroup.Pay.class
    })
    private Integer amount;

}
